# -*- coding:utf-8 -*-
import redis
from . import InitConfig
# from redis import StrictRedis
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
from flask_session import Session
session_obj = Session()


class Config(InitConfig):
    """本地开发配置文件"""
    INSTALLED_APPS = [
        "application.apps.home",
        "application.apps.users",
    ]
    # SQLALCHEMY_DATABASE_URI = "mysql://帐号:密码@IP:端口/数据库名?编码"
    # SQLALCHEMY_DATABASE_URI = "mysql://root:123@127.0.0.1:3306/students?charset=utf8mb4"
    # 使用pycharm自带的sqlite3数据库
    SQLALCHEMY_DATABASE_URI = "sqlite:///db.sqlite3"

    # 设置密钥，可以通过 base64.b64encode(os.urandom(48)) 来生成一个指定长度的随机字符串
    SECRET_KEY = "T1vEjTCjkGon5vU8C6Xq3ujNSQgHQje"
    # redis配置
    REDIS_HOST = "192.168.91.162"
    REDIS_PORT = 6379
    REDIS_DB = 0
    # # # session 配置
    # 指定 session 保存到 redis 中
    # SESSION_TYPE = "redis"
    # # 如果设置session的生命周期是否是会话期, 为True，则关闭浏览器session就失效
    # SESSION_PERMANENT = False
    # session_id 进行加密签名处理
    # SESSION_USE_SIGNER = True
    # # 保存到redis的session数的名称前缀
    # SESSION_KEY_PREFIX = "session:"
    # SESSION_REDIS = redis.StrictRedis( host=REDIS_HOST, port=REDIS_PORT,db=1 )
    # PERMANENT_SESSION_LIFETIME = 24 * 60 * 60 # session 的有效期，单位是秒

    """session配置[SQLAlchemy]"""
    SESSION_TYPE = 'sqlalchemy'  # session类型为sqlalchemy
    SESSION_SQLALCHEMY = db      # SQLAlchemy对象
    SESSION_SQLALCHEMY_TABLE = 'session'  # session要保存的表名称
    SESSION_PERMANENT = True     # 如果设置为True，则关闭浏览器session就失效。
    SESSION_USE_SIGNER = False   # 是否对发送到浏览器上session的cookie值进行加密
    SESSION_KEY_PREFIX = 'session:'  # 保存到session中的值的前缀
